home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODF-Interest Archive / May 96 / Re List manager.2 < prev    next >
Encoding:
Internet Message Format  |  1996-12-03  |  3.3 KB  |  [TEXT/ttxt]

  1. Subject:     Re: List manager
  2. Sent:        5/15/96 8:15 AM
  3. Received:    5/17/96 9:02 AM
  4. From:        Bruce Alspaugh, alspaugh@showme.missouri.edu
  5. Reply-To:    ODF-Interest@CILabs.ORG
  6. To:          OpenDoc Development Framework Discussion List, ODF-Interest@CILabs.
  7.  
  8. >>
  9. >>Is there now or in planning an ODF version of the Mac List manager? I
  10. >>need to build a scrolling list where each row has various small icons,
  11. >>text and clickable rectangular subsections as well as hiliting of the
  12. >>selected rows.
  13. >>
  14. >>Lars Travers
  15. >
  16. >ODF 1 released this week (http://www.devtools.apple.com/odf/) contains a
  17. >FW_CListBox view class using the Mac list manager.  However the current
  18. >API supports only text data in list cells and doesn't let you specify
  19. >your own LDEF.
  20. >
  21. >Since ODF comes with source code you could try to patch ODF's Framework
  22. >static library if you are in a hurry to get this feature. Adding an LDEF
  23. >argument to ::LNew isn't difficult but there may be issues related to
  24. >drawing because of the way things must be setup in an "OpenDoc world".  I
  25. >need to investigate further myself before making any promises for LDEF
  26. >support in a future patch.
  27.  
  28. Laurent,
  29.  
  30.         There are several limitations with using the Mac List Manager that
  31. I see:  the List Manager is not cross-platform, has a 32K list size limit,
  32. requires that all cells must have the same dimensions, and does not support
  33. 32-bit coordinates for large tables.  To get around these limitations, the
  34. THINK Class Library (TCL) uses a table class that is not built on top of
  35. the List Manager.  It allows lists larger than 32K.  The developer can draw
  36. text, or anything they want inside of a cell and select rows, columns,
  37. rectangular selections, and even discontiguous selections.  It also allows
  38. the width and height of cells to vary from one row or column to the next.
  39. I believe MacApp has similar TGridView and TTextGridView classes.  I would
  40. strongly suggest not using the List Manager because of its limitations.
  41.  
  42.         I think ODF needs much more generalized table classes than just a
  43. one-dimensional text list.   A table class ought to have two methods the
  44. developer may override:  a GetCellText method and a DrawCell method.  The
  45. default implementation of DrawCell simply calls GetCellText with the
  46. coordinates of the cell to fetch the text and then draws it.  Thus, all the
  47. developer has to do to draw tables consisting of pure text is to override
  48. GetCellText.  If they want to draw icons or other graphics, they override
  49. the DrawCell method.  A FocusCell method could set up the drawing
  50. environment for individual cells by setting fonts, styles etc. for text
  51. cells, and pen patterns, pen sizes etc. for graphics cells.  There can also
  52. be a HighlightCell method that can be overridden to change the way
  53. different cells are highlighted.
  54.  
  55. Just a suggestion,
  56.  
  57.  
  58. Bruce Alspaugh
  59.  
  60. --------------------------------------------------------------------------
  61. Bruce Alspaugh, Ph.D.                     |
  62.   Software Engineer, SchoolWare           |    "The bug stops here!"
  63.   2809 Skyview Road                       |
  64.   Columbia, MO 65202-2213                 |    With apologies to
  65.   E-mail: alspaugh@showme.missouri.edu    |       Harry S. Truman
  66.   Web Page:                               |
  67.         http://www.missouri.edu/~alspaugh |
  68.   Fax: (573) 445-9981                     |
  69. --------------------------------------------------------------------------
  70.  
  71.